/*

* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Smart-Shop开源商城系统/ Java商城-首选电商平台系统 请务必保留此注释头信息
* |     开源地址: https://gitee.com/ningbo-qishan/gruul-mall
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     可正常分享和学习源码,未经授权 不可商用！
* |     商业版中台购买/开源版商业授权 联系技术客服
* |     官网:  https://www.73app.cn/
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Copyright (c) 2016-2999 宁波启山智软科技有限公司
* |     版权所有 ,侵权必究！
* ------------------------------------------------------------------------

*/
package com.medusa.gruul.finance.model;

import com.medusa.gruul.finance.api.enums.AccountTypeEnum;
import com.medusa.gruul.finance.api.enums.ChannelTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * The type Api withdrawal brokerage dto.
 *
 * @description: 小程序端佣金提现申请
 * @author: alan
 * @date: 2019 /11/5 21:29
 */
@Data
@ApiModel(value = "小程序端佣金提现申请")
public class ApiWithdrawalBrokerageDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 金额
     */
    @DecimalMin(value = "0.3", message = "最低金额不得小于0.3元")
    @NotNull
    @ApiModelProperty(value = "金额")
    private BigDecimal amount;

    /**
     * 提现渠道:0->微信；1->支付宝；2->银行卡
     */
    @NotNull
    @ApiModelProperty(value = "提现渠道:0->微信；1->支付宝；2->银行卡", example = "0")
    private ChannelTypeEnum channel;
    
    /**
     * 用户类型：0->团长;1->区域团长;2->提货点
     */
    @NotNull
    @ApiModelProperty(value = "用户类型：0->团长;1->区域团长;2->提货点 3->用户", example = "0")
    private AccountTypeEnum accountType;

    /**
     * 对应类型的用户ID
     */
    @NotBlank
    @ApiModelProperty(value = "对应类型的用户ID")
    private String userId;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    private String name;

    /**
     * 扩展名
     */
    @ApiModelProperty(value = "扩展名，记录用户的团长名或提货点名")
    private String extName;

    /**
     * 手机
     */
    @ApiModelProperty(value = "手机")
    private String phone;

    /**
     * 账号
     */
    @ApiModelProperty(value = "账号")
    private String account;

    /**
     * 开户行
     */
    @ApiModelProperty(value = "开户行")
    private String bankName;

}
